package questao1;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/ServletTabuada")
public class ServletTabuada extends HttpServlet{
	/**
	 * Servlet simples para pegar um parametro enviado e
	 * montar uma tabela de tabuada conforme questão 1...
	 * @author Jardel Ferreira
	 *
	 */
	private static final long serialVersionUID = 6990114144324562417L;
	
	// Captura todas as requisições via Get(parametros passados de forma explicita por url) e redireciona para o método principal
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		montaTabuada(req,resp);
	}
	
	// Captura as requisições post(parametros embutidos no cabeçalho e implicitos) e redireciona para o método principal
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		montaTabuada(req,resp);
	}

		// método que faz toda o serviço
	protected void montaTabuada(HttpServletRequest requisicao, HttpServletResponse resposta) throws IOException {
		
		PrintWriter out = resposta.getWriter();
		resposta.setContentType("text/html");
		
		System.out.println("teste->>>>>" + requisicao.getServletContext().getContextPath().toCharArray());
		
		String parametro = requisicao.getParameter("numero");
		
		// Verificar se vem nulo ou se não é numero
		if (parametro != null){
			System.out.println("teste");
			
			out.println("<html> "
					+ "<head> "
					+ 	"<title>Resultado Tabuada </title> "
					+ "</head>");
			out.println("<body>");
			
			// Calculando só para números positivos
			int auxParametro = Integer.parseInt(parametro.trim());
			if ( auxParametro > 0){
			
				out.println("<table>");
				
				for(int i =1; i <=9; i++){
					
					out.println("<tr>");
					out.println("	<td>" + parametro +" </td>");
					out.println("	<td> * </td>");			
					out.println("	<td> "+ i +" </td>");
					out.println("	<td> = " + i * auxParametro  + "</td>");
					out.println("</tr>");
				}
				out.println("");
				out.println("</table>");
				
			}else{
				out.println("Número negativo não tem tabuada!");
			}		
			
			out.println("</body>");
			
		}
		
		
	}
	

}
